{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Spectrum represenation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "import sys\n",
    "\n",
    "src_dir = os.path.abspath('../src')\n",
    "if src_dir not in sys.path:\n",
    "    sys.path.append(src_dir)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "\n",
    "import itertools\n",
    "import logging\n",
    "import multiprocessing\n",
    "import re\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import seaborn as sns\n",
    "import tqdm\n",
    "\n",
    "from ann_solo import reader, spectral_library, writer\n",
    "from ann_solo.config import config"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "tqdm.tqdm = tqdm.tqdm_notebook\n",
    "\n",
    "# plot styling\n",
    "plt.style.use(['seaborn-white', 'seaborn-paper'])\n",
    "plt.rc('font', family='serif')\n",
    "sns.set_palette('Set1')\n",
    "sns.set_context(font_scale=1.3)    # single-column figure\n",
    "\n",
    "# initialize logging\n",
    "logging.basicConfig(format='%(asctime)s [%(levelname)s/%(processName)s] '\n",
    "                           '%(module)s.%(funcName)s : %(message)s',\n",
    "                    level=logging.INFO)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "config_filename = '../../bin/ann-solo/iprg2012.ini'\n",
    "splib_filename = '../../data/interim/iprg2012/human_yeast_targetdecoy.splib'\n",
    "mgf_filename = '../../data/external/iprg2012/iPRG2012.mgf'\n",
    "out_dir = '../../data/processed/iprg2012/spectrum_representation'"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We consider the following options for the representation of MS2 spectra:\n",
    "\n",
    "- The number of peaks: ranging from 25 to 150 in steps of 25 for both query spectra and library spectra independently.\n",
    "- The intensity scaling: either square root scaling or rank scaling.\n",
    "\n",
    "These representation options are evaluated based on the identification performance in terms of the number of SSMs at a 1% FDR.\n",
    "\n",
    "Search settings:\n",
    "\n",
    "- Query file: spectra generated for the [iPRG 2012 study](http://www.mcponline.org/cgi/doi/10.1074/mcp.M113.032813).\n",
    "- Precursor mass tolerance: 20 ppm\n",
    "- Fragment mass tolerance: 0.02 Da"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "def _do_search(settings):\n",
    "    config.parse(settings)\n",
    "\n",
    "    spec_lib = spectral_library.SpectralLibrary(\n",
    "        config.spectral_library_filename)\n",
    "    identifications = spec_lib.search(config.query_filename)\n",
    "    writer.write_mztab(identifications, config.out_filename,\n",
    "                       spec_lib._library_reader)\n",
    "    spec_lib.shutdown()\n",
    "\n",
    "    \n",
    "# Go through all combinations of number of peaks and scaling methods.\n",
    "for num_peaks_query, num_peaks_library, scaling in itertools.product(\n",
    "        np.arange(25, 151, 25), np.arange(25, 151, 25), ('sqrt', 'rank')):\n",
    "    out_filename = os.path.join(out_dir,\n",
    "                                f'num_peaks_query_{num_peaks_query}-'\\\n",
    "                                f'num_peaks_library_{num_peaks_library}-'\\\n",
    "                                f'scaling_{scaling}.mztab')\n",
    "    if not os.path.isfile(out_filename):\n",
    "        settings = [f'--config {config_filename}', '--mode bf',\n",
    "                    f'--max_peaks_used {num_peaks_query}',\n",
    "                    f'--max_peaks_used_library {num_peaks_library}',\n",
    "                    f'--scaling {scaling}',\n",
    "                    splib_filename, mgf_filename, out_filename]\n",
    "        \n",
    "        proc = multiprocessing.Process(target=_do_search,\n",
    "                                       args=(' '.join(settings),))\n",
    "        proc.start()\n",
    "        proc.join()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "pattern_numpeaks_scaling = re.compile('^num_peaks_query_(\\d+)-'\n",
    "                                      'num_peaks_library_(\\d+)-'\n",
    "                                      'scaling_(rank|sqrt).mztab$')\n",
    "\n",
    "ssms = {'num_peaks_query': [], 'num_peaks_library': [], 'scaling': [],\n",
    "        'ssms': []}\n",
    "for filename in os.listdir(out_dir):\n",
    "    match = pattern_numpeaks_scaling.match(filename)\n",
    "    if match is not None:\n",
    "        ssms['num_peaks_query'].append(int(match.group(1)))\n",
    "        ssms['num_peaks_library'].append(int(match.group(2)))\n",
    "        ssms['scaling'].append(match.group(3))\n",
    "        ssms['ssms'].append(\n",
    "            len(reader.read_mztab_ssms(os.path.join(out_dir, filename))))\n",
    "\n",
    "ssms = pd.DataFrame(ssms)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/wout/.conda/envs/ann_solo/lib/python3.6/site-packages/matplotlib/figure.py:2366: UserWarning: This figure includes Axes that are not compatible with tight_layout, so results might be incorrect.\n",
      "  warnings.warn(\"This figure includes Axes that are not compatible \"\n"
     ]
    },
    {
     "data": {
      "image/png": "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mkDJFRERERERERGRJlByRURERERERESkCZRcERERERERERFpAiVXRERERERERESaQMkVEREREREREZEmUHJFRERERERERKQJlFwREREREREREWkCJVdERERERERERJpAyRURERERERERkSZQckVEREREREREpAmUXBERERERERERaQIlV0REREREREREmkDJFRERERERERGRJlByRURERERERESkCZRcERERERERERFpAiVXRERERERERESaQMkVEREREREREZEmUHJFRERERERERKQJlFwREREREREREWkCJVdERERERERERJpAyRURERERERERkSZQckVEREREREREpAmUXBERERERERERaQIlV0REREREREREmkDJFRERERERERGRJlByRURERERERESkCZRcERERERERERFpAiVXRERERERERESaQMkVEREREREREZEmUHJFRERERERERKQJlFwREREREREREWkCs7cL8HtgMMDsKWPZebAIP5OJhCgLf31/BS/ecClB/n7u9bq2jWbEY3Ox2uwAJMWE895d1/CXBZ+xOisHgEcuH0lSTLh7m6eXfsPeopLmrZCHGQzw6o1jSTsRr3aRFh75zwr+cf2P4tUmmuGPzyWqVQj/unk8JcerAMjIO8ILn6wGILltNH8cdBb5peVEhAbzwiersTucXqmXpxgM8NJtY0nPKcJsNtEuysLMBSt4/pZT49UlPppRD7raV0q7GP58xTAycov4x5I17nVCAv25dnhfKmutpLSPJS2ngEWr07xRLY8xGOCFP48jY18RfmYj8bGteXLuCuwOB9dc3J/aOhsd4iOoqKzlX4vWcfOEVAb2bI/N7gCgXVw4j875jMLiCl558AqOlB4HICTIn30Hj/L43C+8Wb3fnMEAs6aPJT3b1b4Soi38bd4Knrv1UgJPbl8J0Vx4v6t9TRrVn9BAf1qFBPJdZi6rd2QDEGUJYcJ5vaiutdK7U1s+3ZDJqhN/8xXueOWcFK93TsQr4Efxuu+keAX50yr41Hg9NmU0xWWV1NXb6NY+hsff/ZJjlTXeqlqLYLc62PJIBhG9LXS+tj12q4P9Cw8SEOFPdVEtiWPaENwmiIr9leT99zChHYKpLqwlrFMIbUfEAFC6s5wjG0oJiguguqCWzte1xy/UN2+H6urg7ttD6DfAxi231gGw+lszb78R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x8ezceNGevXqBUC/fv34f//v/52yH09ptjlXfuytt97i1ltv9dbhRURERERERARwFDXPnKjGuD0/uXzfvn1kZ2dz7733snv37kZ/t1qtLF26lEcffRSA0tLSU4b6hISEUFJSQllZGYGBge6kS2hoKCUlJR6oSWMeT65cccUVjZY5nU6OHj2q5IqIiIiIiIhIC7dy5Ur8/f2ZO3cuW7Zsob6+nnfeeYfJkydjtVqZOXMm99xzD+3btwcgIiKC3Nxc9/ZVVVW0b9+e8PBwamtrcTqdGAwGKisriYyMbJY6eDy50q1bN0aOHNloApnly5d7+tAiIiIiIiIi8iscOJrlOD836ettt93mfl1XV0d1dTWTJ0+mtraWxx57jClTptClSxe++OILRo8ezdChQ1mwYIE7ibJt2zauu+46/Pz8OOecc9i5cye9e/dm69at7l8t9jSPJ1fuvvtutm7dysCBA09Z/kM3HRERERERERHxHruzeZIrv5aA+OKLL9i0aRP19fV88sknfP755+zdu5e8vDzANcHt6NGjiYuLY8qUKTz11FOYTCYmTpxIhw4dAHjsscd49dVXWbt2LYWFhTzwwAOerdQJHk+uREVFMWrUqEbLzz77bE8fWkRERERERETOEKNHj2b06NHu95deeunPrjt27FjGjh3baHlCQgJPP/20R8r3S7w2oa2IiIiIiIiIeJ8Dp7eLcMZTckVERERERESkBWuuOVd82c/NJyMiIiIiIiIiIqdBPVdEREREREREWjC7U8OCmkrJFREREREREZEWTHOuNJ2SKyIiIiIiIiItmF3JlSbTnCsiIiIiIiIiIk2gnisiIiIiIiIiLZiGBTWdkisiIiIiIiIiLZgmtG06JVdEREREREREWjCHtwvgAzTnioiIiIiIiIhIE6jnioiIiIiIiEgLpl8LajolV0RERERERERaMLtyK02mYUEiIiIiIiIiIk2gnisiIiIiIiIiLZgmtG06JVdEREREREREWjA7Bm8X4Yyn5IqIiIiIiIhIC+bQnCtNpjlXRERERERERESawOB0OpWjEhEREREREWmhMg/FN8txurfLb5bjeIOGBYmIiIiIiIi0YJpzpel+98mVXvf9w9tFOCPsfOEeAHrer3idjvTnXfHq+yfF63Rsm+OK17nXvejlkpwZvltwLwD9pql9nY6tr7naV/+pitfp2DL3Hm8XoZGR39zr7SKcEb4a7voMba5vB890P3y7+XTmxV4uyZnhwe6fATBv7yAvl+TMcEOX9QB8ltPTyyU5M1yclA7ofDxdP5yP0rL87pMrIiIiIiIiIuI5Dqd6rjSVkisiIiIiIiIiLZiGBTWdkisiIiIiIiIiLZhdPyTcZIqgiIiIiIiIiEgTqOeKiIiIiIiISAumOVeaTskVERERERERkRZMc640nZIrIiIiIiIiIi2Y3akZQ5pKERQRERERERERaQL1XBERERERERFpwRzqd9FkSq6IiIiIiIiItGCac6XplJ4SEREREREREWkC9VwRERERERERacE0oW3TKbkiIiIiIiIi0oI5NCyoyZRcEREREREREWnB7JoxpMkUQRERERERERGRJlDPFREREREREZEWTHOuNJ2SKyIiIiIiIiItmEODWppMyRURERERERGRFszu1IS2TaX0lIiIiIiIiIhIE6jnioiIiIiIiEgLpl8LajolV0RERERERERaMIcmtG0yRVBEREREREREpAnUc0VERERERESkBdOwoKZTckVERERERESkBdOvBTWdkisiIiIiIiIiLZhDPVeaTBEUEREREREREWkC9VwRERERERERacHs+rWgJlNyRURERERERKQFc6A5V5pKyRURERERERGRFkw9V5pOERQRERERERERaQL1XBERERERERFpwezqd9FkSq6IiIiIiIiItGAOp+ZcaSqlp0REREREREREmkA9VwCDAWZPGcvOg0X4mUwkRFr46wcrePGGSwny93Ov17VNNCP+NherzQ5AUnQ47911DX9Z+Bmrs3IAGNQ1kbEDurOn8Ci9E+N48ZM15B495pV6eYrBAK/eOJa0E/FqF2nhkf+s4B/XN47X8MfnEtUqhH/dPJ6S41UAZOQd4YVPVgMQGujPLSMGMnZAd87/21yv1MfTDAZ46baxpOcUYTabaBdlYeaCFTx/y6nx6hIfzagHXe0rpV0Mf75iGBm5RfxjyRr3OgsfuIbqWqv7fVxEGJf99a1mrY+nGQzwwp/HkbGvCD+zkfjY1jw5dwV2h4NrLu5PbZ2NDvERVFTW8q9F67h5QioDe7bHZncA0C4unEfnfEZhcQWvPHgFR0qPAxAS5M++g0d5fO4X3qzeb85ggFm3u9qXn9lEQpSFx95dwXPTftS+EqIZ/RdX+7p+VH9C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7voMzTyknwI9Hd3buXrVPZ3pu0Osf0sPdv8MgHl7B3m5JGeGG7q4erR9luPbv1j5W7k4KR3Q+Xi6fjgfzyRPZjSez9ATHu7xSbMcxxs83nMlLy+P2bNns2nTJgYOHEivXr1Ys2YN6enpnj60iIiIiIiIiPwKu3quNJnHkytff924O77ZbGb69OmePrSIiIiIiIiI/AqH5lxpMo8nV35KamqqNw4rIiIiIiIiIvKb83hyJTs7m+eee46QkBDuvvtu2rVrx4oVK3j99ddZtGiRpw8vIiIiIiIiIr/g9zIsqLa2lokTJzJkyBBmzJhBXV0dzz77LLGxsRw4cICpU6eSlJQEwIgRI4iPd81jFhMTw9///nfANTXJnDlzSExMJD8/nxkzZhAS4vkJsz0ewZdffpkxY8YwYsQIHnvsMbKyshg1apT7V4NERERERERExHscTkOz/Ps1s2bNonv37u738+bNo02bNkybNo3Jkyfz8MMPu/82fvx45s+fz/z5892JFYBHH32Uq6++mmnTptGlSxdef/313zZYP8PjyZUePXpw8cUXc8kllzBnzhwWLFjA/v37MRg0pktERERERETE2+wYm+XfL1m2bBn9+vUjISHBvezbb7+lb9++ACQnJ7Nr1y4qKysB2LRpE6+//jqzZs1i69atANTX17Nx40Z69eoFQL9+/Vi1apUnQtaIx4cFlZSUuF/7+/szc+ZM/vrXv3LkyBFPH1pEREREREREfuf27dtHdnY29957L7t373YvLykpOWVIT2hoKCUlJYSGhnLffffRu3dvampqGD9+PK+99hpBQUEEBga6O3P8sH5z8HjPlcjISF5++WX3ez8/Px599FG6dOni6UOLiIiIiIiIyK/w9rCglStX4u/vz9y5c9myZQtpaWm88847REZGUlVV5V6vsrKSyMhIAHr37g1AUFAQKSkpbN26lfDwcGpra3E6nY3W9zSP91y55ZZbGi0LDAzkhRde8PShRURERERERORXODzf7+IX3Xbbbe7XdXV1VFdXM3nyZKxWK9u2bWPAgAHs3r2bbt26Efr/2bvv8Car94/j7yTdLS1tKaWLPcqUDWUIgoLKHioKOBAVBRVFARUFFVkKOFARBARBQZAhX2XIDxGUIYrsskuZhS6gdDfN749gSi1IonTQfl7XlUty8jxn3D5pmzvnnMfLiy1btpCZ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RURERERERKRoyLYYCuRRVLi4uOQpCw4OzpVYefzxxx2q066ZKyNHjqRs2bLMmTMHX19fEhISWLFiBSNGjOCzzz5zqEERERERERERKTqKUuKjIOzfv5++ffvmKjt48GCuskOHDjlUp13Jlbi4OKZPn257XqVKFZo0aULv3r0dakxEREREREREpDB5e3sTERGRq+zvz2NiYhyq067kSmBgIKmpqbi7u9vKUlJSCA7O2e3+22+/pVevXg41LiIiIiIiIiKFq6TNXOnbt+8Nl/1cnf+wh13JFV9fX7p3706bNm3w9vbm4sWL/Prrr0RERDBt2jQAli1bpuSKiIiIiIiIyC2mpCVX7NlPJV/2XNmwYQOtW7cmKSmJpKQkAG677TZSUlJISUkBID093aGGRUREREREREQKQ3p6OrNmzWL16tWcPHkSgPLly9OxY0cGDBiAm5ubQ/XZlVx58MEHGTx48D8e8/HHHzvUsIiIiIiIiIgUPksJm7mSkpJCv379iI2N5d5776V3795kZ2dz+vRpvvrqK9atW8f8+fPx8PCwu067kis3SqzYe4yIiIiIiIiIFC3ZlKzkymeffUaNGjVYuHBhntsyDxs2jDfffJPp06fz4osv2l2n8WZ3UkRERERERERuHdkWQ4E8iopffvmFMWPG5EmsALi5ufHGG2/w66+/OlSnkisiIiIiIiIiUmJ4eHjg6up63dfd3d0dWhIEdi4LEhEREREREZHiqaTtuZKRkWHbxPafjnHEf0qujBw5kgkTJvyXKkRERERERESkEBWlJTsFYdeuXXTo0OG6r1ssFgwGx2JiV3Jl165dfPTRR5w6dYrMzExbY/Hx8UquiIiIiIiIiNzCStrMldtuu40pU6Zc93WLxcKwYcMcqtOu5MqIESPo06cPNWrUwGQy2RobP368Q42JiIiIiIiIiBSmt99+m5CQkBse4wi7kithYWE8+uijecqnTp3qUGMiIiIiIiIiUrSUtGVBc+bMAWDAgAFUq1btmsdUr17doTrtSq7069ePJUuWcNttt+Hp6Wkrf+WVV1i4cKFDDYqIiIiIiIhI0WGxFHYPCtaxY8eYOnUq/v7+TJs2zVY+ZMiQf12nXcmVEydO8N5775Genp6r3NENXkRERERERERECpOLiwvBwcEANGnShAkTJvDqq6/+pzrtSq7MmzePRYsWUa1aNdue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4eG0b98eT0/PXOUrVqxwtK8iIiIiIiIicrOVsGVB+cHuWzH/fa+VS5cukZqaesNzhw4dyo4dO2jatGmucoOh6EwJEhERERERESmxlFz5z+xKrjz44IPcc8893HHHHZw6dYq3336bDRs22LWxS5kyZejQoUOe8iZNmjjeWxERERERERG5uYrQnXxuVXYlV7p3705YWBjLly+nSpUqZGZm8t5779GgQYP87p+IiIiIiIiISJFm962YGzVqRKNGjfKzLyIiIiIiIiJSwCwleFlQVFQUu3btonPnziQlJTFp0iTMZjMvvvgi5cqVs7seu27FnJ6eztSpU7nrrruoX78+d911F++//z7p6en/egAiIiIiIiIiUgRYCuhRBE2cOJGkpCQMBgOTJ08mKSmJ8uXL89prrzlUj10zV15//XUSExMZMmQIpUuXJjExkZUrV/LGG28wceLEfzUAEREREREREZHClJ6eTv/+/UlLS+Onn35izZo1eHl50a9fP4fqsSu5cvjwYZYtW5arrGvXrvTs2dOhxkRERERERESkiCnBG9qmpKSQlZXFypUradGiBV5eXgBYHFwrZVdyJSAggOzsbIzGnFVEFosl1/qjn3/+mTZt2jjUuIiIiIiIiIgULkMRXbJTEHr27EnLli0xGo3Mnz+fxMREXn/9dSpVquRQPXYlV6pUqUL//v3p0KEDPj4+XLhwgfXr19OwYUOWL18OwIwZM5RcEREREREREbnVlODkygMPPECXLl0wmUy4urqSlZXFK6+8gp+fn0P12JVcWbJkCeHh4axbty5X+R9//MEff/wBQFxcnEMNi4iIiIiIiIgUtGnTpjFkyBDbcw8PD9u/nZycCAkJYebMmTzxxBN212lXcqVz586MHj36H49588037W5URERERERERIqIErbnytKlS8nOzv7HfVVWrFhx85Mrf0+snDx5EoCwsLDrHiMiIiIiIiIit4AStizo4sWLzJkzhzp16lz3mMuXLztUp13JlZkzZ7JhwwZmz57NTz/9xPDhw3FxceGFF16gb9++DjUoIiIiIiIiIkVICUuubNy4kWXLlrF582ZatmxJz549cXd3z3XMiBEjHKrTeONDYMOGDcyaNQtXV1c+++wzPvvsMzZs2MDSpUsdakxEREREREREpDB5enrSr18/PvnkEypUqMDrr7/OxIkTbat0ACZOnOhQnXbNXHFycsLNzY0jR46QlZVFREQEAKVKlXKoMREREREREREpYkrYzJWrtWrVilatWnHy5Enmzp3L6dOnGTp0KDVq1HCoHruSKy4uLnz++eds3LiRPn36AHDgwAGysrIc77mIiIiIiIiIFB0lbEPbv4uPj2fFihWsXr2arKwszpw5kz/JlQkTJjB79mxatWrFQw89RGxsLHPnznVo51wRERERERERkaJiz549zJs3j9WrV1OlShWGDh1K165dcXFxcbguu5Ir/v7+vPzyy7bnAQEBjB8/3uHGRERERERERKRoMZSwZUHff/89X375JXv37qVdu3bMnj2bJk2a5Dpm9uzZDBgwwO467UquiIiIiIiIiEgxVcKSK8OGDcPNzY2uXbsSHBzMtm3b2LZtW65jli1bpuSKiIiIiIiIiMi1hIeH8+qrr/7jMevWrXOoToPFYilhOSoRERERERER+UuljyYXSDtRzw4rkHZuZN26ddx5553/eMzmzZtp0aKF3XUa7Tno+eeft7tCEREREREREbl1GCwF8ygqrpdYycjIICkpCcChxArYuSxox44dPP3009SoUYNu3bpRqVIlhxr5L+q9MLXA2rqV7Z76AgB1X1S87LFnijVejZ5QvOzxx0xrvJr3LZiM9q1u6wJrRl7xss9f8Yp4UPGyx5avi8Y3Pldr+MOowu7CLWHHvWMByI6pXsg9uTUYyx0C4IeoOoXck1vDvZX2ArDyWL1C7smtoUvl3QDsPxlSyD25NdQKOw3A0qMNCrknt4aeVf4s7C44roTdivmHH37gu+++o3nz5jz66KMAzJgxgw8//BCz2Uy1atX48MMPqVixot112pVceemll+jWrRuRkZEsWrSI48eP07p1a+655x78/Pz+zVhEREREREREpCgoQrNKCsK3335L586d6dq1KwCRkZFMnTqVCRMm0LFjR1avXs348eP57LPP7K7TrmVB3bp1A6BmzZoMGzaMrl27Mn36dNq2bctzzz3H6tWryc7O/hdDEhEREREREREpOJmZmfTo0QOTyQTAkiVLqFOnDt26dcPNzY3u3bvblgfZy67kyqBBg9i5cyejR4+mVatWfPzxx/Tr14+1a9fyzjvvkJiYyJAhQxwfkYiIiIiIiIgULksBPYqgrKwsVq9ebZvF8hdnZ2eH6rFrWdCGDRvYtWsX9957LzNnzqRevdxrOe+++27mzZvnUMMiIiIiIiIiUviK0mazBcFkMrFp0yaaNm3KJ598QkpKSq7kyqlTp8jMzHSoTruSKxEREUyYMIHAwMBrvr5792769u3rUMMiIiIiIiIiIgVt5MiRDB48mNOnT+Ph4cFbb72Fj48PAGPGjOGHH35g4MCBDtVpV3Llt99+Y9WqVbZddP+uTZs2DjUqIiIiIiIiIkVECZu5UqNGDdatW0dCQgI+Pj62vVfAmlwZM2aMw3XatedK48aNr5lYOXr0qMMNioiIiIiIiEgRUkL3XPHz88uVWPkv7EqudO/ene+++47Lly/nKn/zzTdvSidEREREREREpHAYLAXzKCq2bNnC2LFjWbZsma1s5cqVtGvXjiZNmvD0008TFxfnUJ12LQt65ZVXADAYDLYyi8WS67mIiIiIiIiISFE3b948ateuze233w5AdHQ0r7zyCs888wwdO3Zk1apVjBs3jilTpthdp13Jldtuuy1PpRaLhWHDhjnQfREREREREREpciwla+JEUlISQ4YMsT3/5ptvqFChAs888wwAQ4YMoU+fPg7VaVdy5f333ycoKChP+YwZMxxqTERERERERESKmCK0ZKcgGI05O6RYLBZWrVqVJ5ni6urqWJ32HBQUFMSOHTsYPXo0r7zyCpcvX2bBggV4e3s71JiIiIiIiIiISGEym80cOXIEgIULF3L+/Hm6detme/3ChQukp6c7VKddyZWFCxcyfPhwXFxcOHDgAO7u7iQkJDBhwgSHGhMRERERERGRoqWkbWj73HPP0bdvX1q2bMnbb7/NCy+8QGBgIADTp0/n/vvvp3nz5g7VadeyoBUrVrBixQo8PT3p378/JpOJZ599lv79+zs+ChEREREREREpOopQ4qMgNGvWjP/7v/8jKiqKcuXKERAQYHutR48edOnSBX9/f4fqtCu5YjAY8PT0tP37L5mZmQ41JiIiIiIiIiJFS1GaVVJQvLy8qFu3bp7yv2awOMqu5ErFihUZOXIkvXv3Jj09nb1797JixQqqVq36rxoVERERERERESku7NpzZdSoUTg5OTFgwAB27dpF3759SU9P59VXX83v/omIiIiIiIhIfrIU0KMYs2vmioeHB2PHjuXtt98mISEBPz+/XMuDREREREREROQWVcwTH3+3aNEivL29ueeee25anXbNXPmLwWDA39/fllgZO3bsTeuIiIiIiIiIiBS8kna3oK+//ppWrVoBMHXq1Gses2XLFofqtGvmysMPP3zN8gMHDjBq1CiHGhQRERERERERKUzp6emUKlWKP//885qvf/rpp0RERNhdn13JldjYWJ588knb80uXLvHLL7/Qr18/uxsSERERERERESlsvXr1om3btpjNZgBq1qyZ63WLxeLwVih2JVfGjx9P/fr1c5X179+fF154waHGRERERERERKSIKUJLdgpC//79eeCBB4iNjeXFF19kypQpuV63WCwMGzbMoTrtSq78PbECcOHCBQ4ePOhQYyIiIiIiIiIihc3FxYWQkBDef/99goKC8rz+/vvvO1SfXcmV9u3b53qekZFBYmIiAwYMcKgxERERERERESlaitJmswUtKCiI33//nWXLlhETE0O5cuXo1asXDRs2dKgeu5IrpUqV4tVXX7U9d3Z2Jjg4mMDAQMd6LSIiIiIiIiJFSwlOrixfvpz33nuPO+64gzp16pCQkMBzzz3HSy+9RPfu3e2ux67kyqhRo2jcuPE/HvNXhkdEREREREREbiElOLmycOFCVq5cia+vr60sMTGRp59++uYnV9577z2mTp2KxXL9iL/44ossXLjQ7oZFRERERERERAqTk5NTrsQKgK+vL05OdqVLcuqx56CdO3fSrl27XMmVv25L9FeZo7cpEhEREREREZHCV5L3XPHz82PatGn07t0bPz8/EhISWLp0KX5+fg7VY1dy5bXXXsNgMNClSxd8fHxITExk1apVuLi40Lt3b8B6KyMRERERERERucWU4OTK6NGjeemll5g2bZpt0kjLli2ZNGmSQ/XYlVxZv349c+bMsT339fXloYceYsCAAbbkyty5cx1qWEREREREREQKX0meueLv78+cOXM4d+4c586do1y5cpQtW9bheuxKrsTFxXHmzBmCg4NtZadOneL8+fO250aj0eHGRUREREREREQKW2Bg4H+6I7JdyZVHH32Ue++9lwYNGuDr60tCQgI7d+5k9OjR/7phERERERERESkCSvDMlZvFruRKr169qFevHmvWrCE2NpbKlSszatQoqlatmt/9ExEREREREZH8pOTKf2b3vYWqVatGtWrV8rMvhcZggI8GdmNPdAzOJhNhZXx4Y+FaJj/aGXcXZ9tx1YMCaD9mBqH+PrzQpTU7jp0m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ZRqLslPr1q0LTQf6U0BAQLEqExERERERERFxpqlTp160bc6cOfTr14/AwEAWL15M7969i1VmkTJXRo0axfDhwwkPD8fT09Oxfd26ddx5553FqlBEREREREREyo+qNi0oLCzMcf/w4cOMHz+e+Ph4XnvtNW666ab/qcwiBVfGjh1LSEgIkZGRuLgUHPL3aUIiIiIiIiIiUsFUseAKgNVqZfbs2bz//vt07dqVWbNm4e/v/z+XV6TgislkuuT6Kk2aNPmfKxYRERERERER5zNYnd2CsrV//37Gjx9PUlISkyZN4pZbbrlon/fff5+HH364yGUWKbjSq1cvYmJiaNGi8OrQa9asoWfPnkWuTERERERERETEmQYPHozNZmPQoEEcO3aMmTNnXrTPggUL/vngyrx583jrrbfw9PR0rLlis9k4e/YsEydOLHJlIiIiIiIiIlLOVLFpQVFRUYwfP/6K+6xYsaJYZRYpuOLt7c2UKVMKbbPZbEyePLlYlYmIiIiIiIhI+VLVFrQdM2YM7dq1u+o+xVGk4MrLL7980ZQggGnTphWrMhERERERERERZ+rVq9c/ss9fGYuy06UCKwDz588vVmUiIiIiIiIiUs7YbGVzq8SKlLkybNiwS27fv38/zz///D/aIBEREREREREpO1VtWlBpKFJwJTk5mVGjRjkeZ2RksH79eu69995Sa5iIiIiIiIiIlAEFV0qsSMGVyZMn06pVq0Lbhg4dytixY0ulUSIiIiIiIiIiFUWRgit/D6wApKWlERsb+483SERERERERETKjqYFlVyRgivXX399ocdms5nU1FT+9a9/lUqjRERERERERKSMVPLFZstCkYIrXl5ejB8/3vHY1dWV8PBwQkJCSq1hIiIiIiIiIlL6lLlSckUKrkybNo369euXdltERERERERERCoc4+X+8MgjjzjuK7AiIiIiIiIiUknZyuhWiV02c+X3339n2LBh2Gw2DAYDALYL87D+fGwwGPjss8/KoJkiIiIiIiIiUho0LajkLhtcadSoEXPnzr1oe1xcHBMmTODIkSO89NJLpdk2EREREREREZFy77LTgqZOnXrRtjlz5tCvXz8CAwNZvHgxvXv3LtXGiYiIiIiIiEgps9rK5laJXTZzJSwszHH/8OHDjB8/nvj4eF577TVuuummMmmciIiIiIiIiJSyyh33KBOX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A0CPGzReRbFq+TPObsJF6s7R/64ojo2w/+92xtW6yp4C0LK2/df0lh5t5uSWVAw31dsNwNM7hzi5JRXD1JbfAPD2/l5ObknF8FijFQAsOtLCyS2pGG6NrHi/QNe746tlUs8vG54vk3qcodQzV3x8fJg4cSIAW7duZdOmTdStW7dIgRURERERERERkfKu1FdBuu+++wBYs2YN06ZNIzc3l+XLlzN5sjIGRERERERERJzNYLOVya0yK/XMlfx8+3z9Xbt2MW/ePIxGezxn6tSppV21iIiIiIiIiFxNJQ98lIVSD678uThVtWrVHIEVAC8vr9KuWkRERERERESupgg/kyxXVurTgnJzc5k5cyYxMTHs2mVfjf/PVYBFRERERERERCq6Us9c+eqrry7a1qZNG7p27VraVYuIiIiIiIjIVVT29VDKQqkHVy4lMjLSGdWKiIiIiIiIyN8puFJipT4tSERERERERESkMnNK5oqIiIiIiIiIlBPKXCkxBVdEREREREREqjL9WlCJKbgiIiIiIiIiUoVpQduS05orIiIiIiIiIiIloMwVERERERERkapMmSslpuCKiIiIiIiISFWm4EqJKbgiIiIiIiIiUpUpuFJiWnNFRERERERERKQElLkiIiIiIiIiUpXpp5hLTMEVERERERERkSpMP8VccpoWJCIiIiIiIiJSAspcEREREREREanKlLlSYgquiIiIiIiIiFRlVgVXSkrBFREREREREZGqTJkrJaY1V0RERERERERESkCZKyIiIiIiIiJVmTJXSkzBFREREREREZGqTMGVElNwRURERERERKQq04K2JaY1V0RERERERERESkCZKyIiIiIiIiJVmc3q7BZUeAquiIiIiIiIiFRlWnOlxDQtSERERERERESkBJS5IiIiIiIiIlKVaUHbElNwRURERERERKQq07SgEjPYbBpFERERERERkaqqb81Hy6SeZQnvlEk9zqA1V0RERERERERESqDcTwvq0ed1ZzehQlj18zMA3Nh0gpNbUjH8tOc1APpUH+rkllQMP2d/DsANbnc7uSUVw3LzFwD0Ng5xcksqhl+s3wAar6L6c7zKk4avzHB2EyqE2P8bC0CLRS84uSUVQ8ytLwPQZ83jTm5JxfBzt7cAuO7n55zckophU5/JAER9/aqTW1IxHLr9eQAaL5jo5JZUDPsGvOjsJhSfJrSUWLkProiIiIiIiIhIKbJand2CCk/BFREREREREZGqTJkrJaY1V0RERERERERESkCZKyIiIiIiIiJVmTJXSkzBFREREREREZGqzKrgSklpWpCIiIiIiIiISAkoc0VERERERESkCrPZ9GtBJaXgioiIiIiIiEhVpmlBJabgioiIiIiIiEhVpgVtS0xrroiIiIiIiIiIlIAyV0RERERERESqMqvWXCkpBVdEREREREREqjJNCyoxBVdEREREREREqjCbMldKTGuuiIiIiIiIiIiUgDJXRERERERERKoyTQsqMQVXRERERERERKoyq4IrJaVpQSIiIiIiIiIiJaDMFREREREREZGqzKYFbUtKwRURERERERGRKsymaUElpuCKiIiIiIiISFWmzJUS05orIiIiIiIiIiIloMwVERERERERkSpM04JKTsEVERERERERkapM04JKTMEVERERERERkSrsF+s3zm5Chac1V0RERERERERESkDBFRERERERERGRElBwRURERERERESkBBRcEREREREREREpAQVXRERERERERERKQMEVEREREREREZESUHBFRERERERERKQEFFwRERERERERESkBBVdERERERERERErAxdkNKA8MBpg0cTD7YpNwcTERHubL1OnLsFqt3D6oHTk5edSpE0BGRjYfz1lHn97NaNI4nKSkNKKjQljw4zb27E0EwM/Pk5HDu1A/MpjRj851cs9Kh8FgYOJ7Q9m/Kx5XVxNhtfyZ/vz33D6yKy3a1nPsN3/2arZvPExIuC+vfjiC1DPnADi4N4mP3lgGwH9XPkPS8TMAuLiayM+z8PR9H5d9p0qRwWBg4nfjiN1yGBc3F8Iig5n+4EeYc/IAuOuZfgwY04fbaz3sOGbU63djybNgMBpwr+7O++PmYrPZePSdEdRsGO7Y7/1xczm2J6HM+1SaDAYDLy94kv1bDuHq5kJYZAjTHvjQMV53P9efAf/uy5DwBwFo0bUxY965j/TkDAB8g71Z++1mPn/lO1r3bEb32zuQeOgktRqG8+FT/yUzLctpfSsNBoOBV358lv2/H8TFzYXwyBDeHDkLc44ZgLsnDGTgYzczOHgkAC26NeHfM+//y3j5sOabDXw+8RtC6gRxz/8NJunQCULqBvPhE3PJycpxWt9KQ3HHC6Bx+2ja9G6BzWqjZfemvPmv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SjJ16tT5xX5p37692bJlS6lrJiUl2draoEEDs27dOmOMMTt27DDR0dEmIyPD1jdRUVHm8OHDxhhjpkyZYowx5l//+pftfDNmzDBvv/12qe077rjDpKenm6KiIvPGG2+YlStXmnvuucf2nj179ph33nnnqvG2atXKnDlzxhhjzKpVq2xtv9TWhQsXGmOMSUxMLBXb+PHjzejRo40xxuTk5JgOHTqYbdu2GWOMmTNnjnnkkUdMUVGRMcaYV155xSxevNgYY8yYMWNs17hkzJgx5t577zUXLlww2dnZ5t13372ir386ji69vnLlSmOMMa+//rrp2LGjOXXqlCkpKTE9e/Y0X3755VXbbIz15/LGG28YY65vHO3cudPs3LnTGGNMQUGB6dq1qzl27Fip8yYlJZnk5GTzpz/9yWRlZRljjPnwww/NhAkTjDHGFBUVmT59+vxsbCIivxfl6qtTrlauVq4WEWOM0bIgqXBeffVVEhMT+de//vWbjvfw8CA6OhqA2rVrExwcTOXKlXFxcSEiIoKkpKRS7+/atSsAPj4+3HXXXaxYsQKApUuX0rt3bywWC87OznTt2pXPP/+81LGdOnUC4L777qNhw4alXktNTWXz5s307dsXAF9fX9q1a8eSJUt+U7uuxs3NjbvvvhuA22+/HT8/P9avX297vUaNGkRGRgIwZswY2zGDBg3iwQcfZMWKFezbt6/UOaOjo/H19cVisTB69GjatWtHVlYWO3fuBGD58uX07NnzqvF4e3vz6aefkp2dTYcOHWxPhC7p0aMHAKGhoURHR/P1119TUlLC8uXL6devHwCenp60b9/e1tdLliwhJiYGi8UCwNChQ2nevPkv9kvr1q1xd3encuXKPP3007/Si5fdcccdANSpUwcvLy+qV6+Og4MDtWvXvmLc/NSltl3POAoPD+c///kPAwYM4LHHHuPMmTPs37+/1HlTU1P585//zKuvvmpb6+/j48OOHTvYuXMnFouFDz/88JrbKCLye1CuvnbK1VenXC0itxotC5IKx8/PjwkTJjB27Fg6dux43cd7eHjY/u3k5HTFdmFhYan3/3httI+PD4cOHQIgJSWF999/33aDlZube8U6ak9Pz5+NIyUlBbDeqF3i6+vL3r17r7dJP+t+UzD8AAAGoUlEQVSnH6zn4+NDWlqabbty5cqlXo+NjWXKlCl88cUXhISEsGTJEpYuXVrqPT89xsXFhW7durFs2TJuu+02kpKSiIiIuGo877//Pu+99x7dunWjadOmjB49mtDQ0KvG6+Pjw5kzZ8jIyKCgoIA333wTNzc3ALKzs6lfvz5g7ccqVarYjgsKCvq1brmiDdfq0s/TYrH86rj5qd8yjqZMmUJ2djYLFy7EYrEwZMgQ8vPzS5131qxZnDp1iu3bt9v+QOjRowdFRUVMnjyZrKwsHnnkEQYNGvSb2iwi8lsoV1875eqrU64WkVuNiitSIXXv3p2VK1cyfvx4HBwcbPudnZ0pKCiwbWdnZ5f5WufOnbOti87MzLR96n+1atUYPnw43bp1A6CkpOS6rle1alUAMjIyqF69uu3f13LDcT2x/1hmZiaBgYE/+/7du3dTo0YNW3svfdvDr+nVqxdDhw6ldevWtG3b9mffZ7FYeOWVVxg7dixTp05l7NixpZ7UZGVl4ePjY4u1du3a+Pr64uLiwssvv0xUVBRgXft86calWrVqZGZmlmpjbm5uqbXsv8bZ2Rmwrrt2cXEhJyfnmo+9Vr9lHO3evZtBgwbZnvRd7aZw/PjxHDt2jEmTJtG8eXO8vb3JyMige/fuxMTEsH//fh599FFq1qxJq1atfvd2iYj8HOXqa4/9x5Srr065WkRudloWJBXWxIkTOXr0aKl9wcHBZGZmkp6eTklJCZs2bSrzdS5NCc3MzGTDhg22KaO9e/fmyy+/pLi4GLBOGX3vvfeu+bxBQUHceeedtqcgmZmZrFu3zjb1+PeQm5vLunXrANi+fTsZGRm2qcdXEx4eTmJiou0G6Fr7Lzo6Gh8fH6ZMmWK78biaYcOGUVxcjJubG1FRUba+u2TlypUAJCUlsWvXLrp164ajoyO9evUqNY17zpw5LFu2DLD+HJYvX24717Rp0zh48CBgffKZl5fHhQsXfvFDBv38/HB3d7c9odqwYcM1tft6XGrb9YyjsLAwdu3aBUBaWhrx8fFXnNfNzY3OnTvTvHlzJk+eDMDChQttU8rr1KmDt7c3JSUlv3ubRER+jXL1r1OuVq5Wrhb5Y7BMmjRpkr2DkD+2VatWMW3aNHbt2kVOTg4tWrQAwN3dndDQUHbv3k2fPn0A61TQvLw83nzzTbZv307dunVZs2YNqampBAcH8/LLL3Pq1ClSUlIoKSlh3rx5HD16FHd3d9avX8+3337LgQMHiIiIYPz48Zw6dYp27doxa9YsFixYQP/+/W3Xaty4MfHx8cyYMYPPP/+crKwsxo4di7OzM4899pjtpiMkJKTUdNofu3TD9uGHH7J8+XKefPJJOnbsaPsGgtTUVLZu3UpQUBBhYWGljh0xYgT79+9n7969NGrUiNGjR3Py5El27dpFeHg4kydPxtXVFQ8PD959913++9//8tprr1GvXj02b97MW2+9RWJiIlu2bCEmJgawrutOTExk+vTpbN26FXd3d7Zt20ZWVhYZGRm8//77HD16lPj4eDp37lwqnpycHEpKSrj//vt/9md59OhRZs+ezfLly9m7dy8TJ07E39+f7Oxs/v3vf9OhQwfefPNNPv30U0aOHGlbN92yZUvWrl3L/PnzWbZsGV5eXgwfPhxHR0caN27M0aNHmTlzJkuWLKF27doMHjwYsE7v/cc//sGKFSvo1asX33//PcuWLSMhIYHU1FTatGkDgKOjI56enkydOpXNmzdTr1491q5dy8GDB2ndujUjRowgNTWV/fv3ExYWxpQpU0hMTCQ/P5/jx4/z2WefkZCQgK+vL3Xr1r2i3bNmzaJLly7MnDmTDz744JrHUf369Vm0aBFLliwhPj6e/Px8tm3bRmRkJBMnTrSNsbvuuosFCxawadMmNm/eTP/+/Zk/fz5Lly5l4cKFtG/f/qrfXCAi8ntRrlauVq5WrhaRX+ZgjDH2DkJEKr6PPvqIKlWq/OLTsJ9z8uRJOnbseNWnPbeCunXrXvG1myIiIjeacvXPU64WkfKmZUEi8osuTflds2YNHTp0sHM0IiIi8lPK1SIi9qfiioj8ok8++YTevXvTqVMnXF1dr/v45ORkRo4cCcCQIUOuWNt9MysoKGDIkCEAjBw5ktTUVDtHJCIif0TK1T9PuVpEbhQtCxIRERERERERKQPNXBERERERERERKQMVV0REREREREREykDFFRERERERERGRMlBxRURERERERESkDFRcEREREREREREpg/8HYGn4qdUGaI4AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 1008x504 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def _plot_heatmap(*args, **kwargs):\n",
    "    sns.heatmap(kwargs.pop('data').pivot(\n",
    "        'num_peaks_query', 'num_peaks_library', 'ssms'), **kwargs)\n",
    "    \n",
    "fg = sns.FacetGrid(ssms, col='scaling', sharex=True, sharey=True,\n",
    "                   legend_out=True, height=7, aspect=1)\n",
    "cbar_ax = fg.fig.add_axes([1.02, 0.15, 0.025, 0.7])\n",
    "\n",
    "fg.map_dataframe(_plot_heatmap,\n",
    "                 vmin=ssms['ssms'].min(), vmax=ssms['ssms'].max(),\n",
    "                 cmap='viridis', annot=True, fmt='d', linewidths=1.0,\n",
    "                 cbar_ax=cbar_ax, square=True)\n",
    "\n",
    "fg.facet_axis(0, 0).invert_yaxis()\n",
    "fg.set_axis_labels('Number of library spectrum peaks',\n",
    "                   'Number of query spectrum peaks')\n",
    "cbar_ax.set_ylabel('Number of SSMs (1% FDR)', size='large')\n",
    "\n",
    "for ax in fg.axes.ravel():\n",
    "    ax.tick_params(axis='both', which='major', labelsize='medium')\n",
    "    ax.set_xlabel(ax.get_xlabel(), fontsize='large')\n",
    "    ax.set_ylabel(ax.get_ylabel(), fontsize='large')\n",
    "fg.set_titles(size='large')\n",
    "cbar_ax.tick_params(labelsize='medium')\n",
    "\n",
    "plt.savefig('preprocess.pdf', dpi=300, bbox_inches='tight')\n",
    "plt.show()\n",
    "plt.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "logging.shutdown()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
